package com.tfswx.jcyw.sqlmodel.api.bean.jdpz;

import lombok.Data;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @author 张述江
 * @date 2024/03/09
 */
@Data
public class FfpzItem {
    private String ffbm;
    private String ffmc;
    private List<BdspzItem> ffcsList;

    public String toString(Map<String, FfpzItem> ffMap) {
        StringBuilder s = new StringBuilder(ffmc + "(");
        for (int i = 0; i < ffcsList.size(); i++) {
            if (i != 0) {
                s.append(", ");
            }
            s.append(ffcsList.get(i).toString(ffMap));
        }
        s.append(")");
        return s.toString();
    }


//    @Data
//    public static class FfBdspzItem {
//        private String cslx;
//
//        private String csz;
//
//        private List<FfpzItem> ffList;
//
//        public String toString(Map<String, FfpzItem> ffMap) {
//            // 字段
//            if ("字段".equals(cslx)) {
//                return csz;
//            }
//            // 普通与数据源
//            if ("普通".equals(cslx)) {
//                return "'" + csz + "'";
//            }
//            // 方法
//            if ("方法".equals(cslx)) {
////            StringBuilder s = new StringBuilder(csz + "(");
////            for (int i = 0; i < ffcsList.size(); i++) {
////                if (i != 0) {
////                    s.append(", ");
////                }
////                s.append(ffcsList.get(i).toSql(ffMap));
////            }
////            s.append(")");
////            return s.toString();
//                return ffTostring(ffList);
//            }
//            if ("方法结果".equals(cslx)) {
//                return ffMap.get(csz).toString(ffMap);
//            }
//            throw new RuntimeException("不支持的参数类型：" + cslx);
//        }
//
//        private String ffTostring(List<FfpzItem> ffList) {
//            Map<String, FfpzItem> ffMap = ffList.stream().collect(Collectors.toMap(FfpzItem::getFfbm, x -> x));
//            FfpzItem ffpzItem = ffList.get(ffList.size() - 1);
//            return ffpzItem.toString(ffMap);
//        }
//    }
}
